package net.servir.capacidades.service;

import java.util.LinkedList;
import java.util.List;

import net.servir.capacidades.model.BancoPregunta;
import net.servir.capacidades.model.CorreoMasivo;
import net.servir.capacidades.model.CorreoRegular;
import net.servir.capacidades.model.Ejecutora;
import net.servir.capacidades.model.ExmPerfil;
import net.servir.capacidades.model.GenOption;
import net.servir.capacidades.model.ParticipanteBusqueda;
import net.servir.capacidades.model.Pliego;
import net.servir.capacidades.model.ResponsableBusqueda;
import net.servir.capacidades.model.Sector;
import net.servir.capacidades.model.ServicioCivilBusqueda;
import net.servir.capacidades.model.Sistema;
import net.servir.capacidades.model.Test;
import net.servir.capacidades.model.jsp.JspResponsableEdicion; 

public interface CensoService {

	public LinkedList<GenOption> ObtenerModalidadesResponsables();
		
	public void grabarHabilitacion(JspResponsableEdicion obj);

	public void grabarDesasignacion(JspResponsableEdicion obj);

	public void finalizarInscripcionParticipantes(JspResponsableEdicion obj);

	public LinkedList<Pliego> obtenerPliegos(Integer idSector);

	public Integer grabarEjecutora(Ejecutora ejecutora);

	public String obtenerRptQueryResponsables(ResponsableBusqueda obj);

	public List obtenerResponsableBusqueda(String vSql);
	
	public String obtenerQueryParticipanteBusqueda(ParticipanteBusqueda obj);
	
	public String obtenerQueryCorreoMasivo(ParticipanteBusqueda obj, String dniUsuario);

	public String obtenerQueryParticipanteOficializar(ParticipanteBusqueda obj, String dniUsuario);

	public List obtenerParticipanteBusqueda(String vSql);
	
	public List ObtenerParticipanteOficializar(String vSql);

	public Test getTest(Integer idTest);
 
	public LinkedList<BancoPregunta> obtenerBancos();

	public Integer grabarTest(Test test);
	
	public String obtenerRptQueryServicioCivil(ServicioCivilBusqueda obj);
	
	public List obtenerServicioCivilBusqueda(String vSql);

	public Test obtenerTest(Integer idTest);

	public void habilitarPrueba(Integer idTest);

	public void iniciarPrueba(Integer idTest);

	public void generarPrueba(Integer idTest);

	public void calificarPrueba(Integer idTest);

	public void informarPrueba(Integer idTest);

	public LinkedList<ExmPerfil> obtenerExmPerfiles(Integer idSistema);

	public void eliminarCandidato(Integer idServicioCivil, String dniUsuario);

	public void oficializarCandidatos(String vSqlOfi, String dniUsuario, Integer idTest);

	public void eliminarCandidatos(String vSqlOfi, String dniUsuario);

	public void eliminarParticipante(Integer idParticipante);
	
	public void eliminarDestinarioCorreo(Integer idServicioCivil, String dniUsuario);

	public void eliminarDestinariosCorreo(String desSql, String dniUsuario);

	public void confirmarDestinariosCorreo(String desSql, String dniUsuario);

	public CorreoMasivo getCorreoMasivo(String dniUsuario);

	public void grabarCorreo(CorreoMasivo correo_masivo);
	
	public void grabarCorreoRegular(CorreoRegular correo);
	
	public void ejecutarPrueba(Number id_correo_masivo);
	
	public void ejecutarPruebaCorreo(CorreoRegular correo, String correo_pruebas);
	
	public void ejecutarEnvio(Number id_correo_masivo, String dniUsuario);

	public void eliminarParticipantes(String lsql);

	public void ejecutarEnvioMasivo(String cod_tipo, String dniUsuario);
	
	public void informarPruebaPorCorreo(Integer idTest);

	public void cerrarPrueba(Integer idTest);
}
